Dispenser and associated tracking application

ABSTRACT

Systems, methods, and apparatuses are provided for storing, dispensing, and facilitating replenishment of a dispenser. The dispenser may store and dispense one or more types of consumable items. Additionally, the dispenser may include one or more sensors for sensing a storage status of the dispenser (e.g., the quantity consumable items remaining in the dispenser). Further still, the dispenser may communicate storage status updates to a remote device on which a related application can be executed, for updating a current storage status, and presenting a notification to a user of the remote device, suggesting the purchase of additional consumable items to replenish the dispenser. The related application may further present the user with other types of purchasing-related information, such as cross merchandise opportunities, a retailer located nearest to the user/mobile device where the additional consumable items can be purchased from, as well as other shopping-related features and/or functionalities.

CROSS-REFERENCE TO RELATED APPLICATION(S)

The present application is a continuation of U.S. patent applicationSer. No. 15/445,078, filed Feb. 28, 2017, issuing as U.S. Pat. No.10,762,469 on Sep. 1, 2020, which is a continuation of U.S. patentapplication Ser. No. 14/085,635, filed Nov. 20, 2013, now issued as U.S.Pat. No. 10,579,958 on Mar. 3, 2020, all of which are herebyincorporated herein by reference in their entireties.

TECHNICAL FIELD

The present application relates generally to eco-system enabled devices,services and applications, such as for example, dispensers, such as forsingle serve coffee packs, and related applications for facilitatingreplenishment of such dispensers.

BACKGROUND

Computing has evolved from utilizing large stand-alone computers toperform tasks, such as calculating mathematical problems, to utilizingdownsized processors/microprocessors (that can be included in small,personal mobile devices, such as smart phones and other consumerdevices) to perform more advanced tasks, such as presenting multimediacontent. Connectivity to data networks, such as the Internet, has alsoevolved, from users being limited to wired connections to users beingable to access the Internet wirelessly through a variety of wirelessnetworks, such as Wi-Fi networks, cellular provider networks, and thelike, thereby effectuating different types of communications, and mobileaccess to information.

As a result of the aforementioned evolution of computing and dataconnectivity, in addition to the reduction in costs of implementing andutilizing such technologies, consumers are demanding more and betterintegration of mobile and/or digitally/microprocessor-controlled deviceswith daily activities. Additionally, consumers are discovering the powerof having access to greater and more varied stores of data orinformation that can assist in making the functionality of theabove-noted devices even more useful and efficient in their lives and aswell as in interactions with businesses and between each other.

Further still, machine-to-machine (M2M) technologies, such as radiofrequency identification (RFID) tags, global positioning systems (GPS),and advances in sensor technologies, such as Zigbee sensors, allow forbetter, more efficient, and more accessible monitoring and/or trackingof entities, such as physical assets, environmental conditions, etc. Forexample, vehicle fleet management systems can rely on such technologiesto track fuel usage, status, and speed of vehicles to provide betterresponses to fuel consumption or traffic navigation needs, as well asprovide telematic features, such as live operator functionality tovehicle drivers. Another example is in the field of asset management,where, e.g., manufacturers, can better track the location and use ofphysical equipment, and improve their manufacturing processes as aresult. Still other examples include the use of retail store kiosks thatallow consumers to check the pricing of an item, remotely monitoring apatient's medical condition, and improving energy consumption byreal-time monitoring of electricity usage through the use of smartmeters.

Eco-system enabled devices and applications can be developed to takeadvantage of these advances in technology. These eco-system enableddevices and applications can be used by sellers to create “connected”products that can be offered to customers at the moment of need. Newinteractions with customers can be created that are contextual to amoment of need, away from a store and website, and/or based on thegeographic location of the customer. These eco-system enabled productscan be used to save the customer time and effort by establishing thesecontextual interactions while, at the same time, reinforcing theconnection and relationship with the seller. This strengthenedrelationship can lead to new opportunities for the seller to offerproducts and/or services to the customer at specific times and inspecific locations in which the customer is in need of the product orservice.

SUMMARY

Various aspects of examples of the invention are set out in the claims.

According to a first aspect, an apparatus may comprise a dispenser forstoring and dispensing items. The apparatus may further comprise atleast one sensor for detecting a storage status associated with thestoring and the dispensing of the items. Further still, the apparatusmay comprise a communications device for transmitting storage statusupdates regarding the detected storage status to a remote device adaptedto, based on the storage status updates, display a notificationsuggesting replenishment of the apparatus with additional items, andindicating a retailer located proximate to the remote device where theadditional items are in stock and purchasable to replenish thedispenser. Alternatively, instead of the notification indicating theretailers located proximate to the communication device, the userinterface could be adapted to allow online purchasing of the additionalitems via the communication device. In another alternative, the onlinepurchasing option could be added as an additional option to displaying aretailer located proximate the communication device.

According to a second aspect, an apparatus, such as a Smartphone, maycomprise at least one processor and at least one memory includingcomputer program code, the at least one memory and the computer programcode configured to, with the at least one processor, cause the apparatusto perform at least the following: receive a storage status update froma dispenser adapted to store and dispense consumable items; determine,based on the received storage status update, whether a current storagestatus associated with the dispenser falls below a replenishmentthreshold; and upon determining that the current storage status fallsbelow the replenishment threshold, present a notification indicating asuggestion to replenish the dispenser and a retailer located proximateto the apparatus at which additional consumable items are purchasable toreplenish the dispenser. Alternatively, the at least one memory and thecomputer program code may be configured to, with the at least oneprocessor, cause the apparatus to, instead of presenting thenotification indicating the retailer located proximate to the apparatus,present a user interface adapted to allow online purchasing of theadditional consumable items. In another alternative, the at least onememory and the computer program code may be configured, with the atleast one processor, to provide the online purchasing options as anadditional option to displaying a retailer located proximate to theapparatus.

According to a third aspect, a system can comprise the following: acommunications network over which a storage status update istransmitted; a dispenser for storing and dispensing a plurality ofconsumable items; and a remote device adapted to execute an application.The application can be adapted to: receive the storage status updatefrom the dispenser; and present a notification indicating a suggestionto replenish the dispenser based on the storage status update and aretailer located proximate to the remote device at which additionalconsumable items are purchasable to replenish the dispenser.Alternatively, the application can be adapted to present a userinterface adapted to allow online purchasing of the additionalconsumable items via the remote device instead of presenting thenotification indicating the retailer located proximate to the remotedevice. In another alternative, the application can be adapted topresent the online purchasing option in addition to the notificationsuggesting a retailer located proximate to the remote device.

According to a fourth aspect, a computer-readable memory includingcomputer executable instructions, the computer executable instructions,which when executed by a processor, cause an apparatus to perform amethod comprising receiving, at a mobile device, a storage status updateindicating a remaining quantity of a type of single serve coffee packsstored in a dispenser; updating a current storage status associated withthe type of single serve coffee packs based on the received storagestatus update; determining whether the updated current storage statusmeets a predetermined threshold associated with the type of single servecoffees packs; and upon a determination that the updated current storagestatus of the dispenser meets the predetermined threshold associatedwith the type of single serve coffee packs, presenting a notification onthe mobile device suggesting ordering an additional quantity of the typeof single serve coffee packs and a proximately located retailer at whichthe additional quantity of the type of single serve coffee packs arepurchasable. Alternatively, the computer executable instructions, whichwhen executed by a processor, cause the apparatus to present a userinterface adapted to allow online purchasing, via the mobile device, ofthe type of the single serve coffee packs suggested instead ofpresenting the notification with the suggestion of the proximatelylocated retailer. In another alternative, the computer executableinstructions, which when executed by a processor, can cause theapparatus to present the online purchasing option as well as theproximately located retailer.

According to a fifth aspect, a method comprises: receiving, at a mobiledevice, a storage status update indicating a remaining quantity of atype of single serve coffee packs stored in a dispenser; updating acurrent storage status associated with the type of single serve coffeepacks based on the received storage status update; determining whetherthe updated current storage status meets a predetermined thresholdassociated with the type of single serve coffee packs; and upon adetermination that the updated current storage status of the dispensermeets the predetermined threshold associated with the type of singleserve coffee packs, presenting a notification on the mobile devicesuggesting ordering an additional quantity of the type of single servecoffee packs and a proximately located retailer at which the additionalquantity of the type of single serve coffee packs are purchasable. Themethod can also comprise providing direction to the proximately locatedretailer. Alternatively, the method can comprise presenting a userinterface adapted to allow online purchasing, via the mobile device, ofthe type of the single serve coffee packs suggested. In anotheralternative, the online purchasing option can be provided in addition toproviding the proximately located retailer.

Additional features and/or aspects can include presenting a plurality ofuser interfaces associated with at least one of purchasing crossmerchandise items, managing a user account, managing the storing of theitems in the dispenser, in-aisle subscription and fulfillment, andpresenting user-targeted information based on at least one of the times,the additional items, the cross merchandise items, purchase historyassociated with the user account, and/or additional information obtainedfrom at least one social media outlet.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of example embodiments, reference isnow made to the following descriptions taken in connection with theaccompanying drawings in which:

FIG. 1 illustrates an example dispenser in accordance with variousembodiments of the present invention;

FIG. 2A is a frontal schematic view of the dispenser of FIG. 1;

FIG. 2B is an enlarged frontal schematic view of a portion of thedispenser of FIG. 1;

FIG. 2C is a front schematic view of the dispenser of FIG. 1;

FIG. 2D is a side schematic view of the dispenser of FIG. 1;

FIG. 2E is an enlarged schematic view of a sensor aspect of thedispenser of FIG. 1;

FIG. 3 illustrates an example system in which a dispenser and associatedapplication interact via a network to facilitate replenishment of thedispenser in accordance with various embodiments;

FIG. 4A illustrates a first example of an operation performed by thesystem of FIG. 3;

FIG. 4B illustrates a second example of an operation performed by thesystem of FIG. 3;

FIG. 4C illustrates a third example of an operation performed by thesystem of FIG. 3;

FIG. 4D illustrates a fourth example of an operation performed by thesystem of FIG. 3;

FIGS. 4E, 4F, and 4G illustrate other examples of operations performedby the system of FIG. 3;

FIG. 5 illustrates an example in-aisle aspect of the system of FIG. 3;

FIG. 6 illustrates example processes performed in accordance withvarious embodiments for configuring and setting up a dispenser andrelated application;

FIG. 7 illustrates example processes performed in accordance withvarious embodiments for storing, dispensing, and replenishing singleserve coffee packs; and

FIG. 8 is a schematic representation of an example mobile device throughwhich various embodiments can be implemented.

DETAILED DESCRIPTION

The present disclosure is directed to eco-system enabled systems andmethods for dispensing and monitoring the dispensing of consumableitems, as well as a related application that can be executed on acomputing device, such as a smart phone, to facilitate the replenishmentof those consumable items. In accordance with one embodiment, theconsumable items may be single serve coffee packs. For example, adispenser, may be filled with single serve coffee packs. One or moresensors in the dispenser may be utilized to sense the removal of singleserve coffee packs, until it is determined that the dispenser hasreached a state where it should be replenished with additional singleserve coffee packs. A related application implemented on a smart phone,for example, can notify a user of this state. The user may then chooseto purchase additional single serve coffee packs via the relatedapplication. As will be described in greater detail, the relatedapplication may provide the user with various options regarding thepurchase of additional single serve coffee packs, provide informationregarding where additional single serve coffee packs can be purchased,suggest cross merchandise items, as well as other purchasing/orderingfeatures that can result in the creation of a consumer-retailerecosystem.

FIG. 1 illustrates an example dispenser 100 configured in accordancewith various embodiments of the present disclosure. The dispenser 100may include a housing 102 (or similar enclosure or structure) withinwhich one or more single serve coffee packs 104 a-104 n can be stored.As shown in FIG. 1, single serve coffee packs 104 a-104 n can be storedin, e.g., a “stacked” formation within a channel 106 a (or similarstructure) of the dispenser 100. Additional channels 106 b-106 n can beutilized to store additional single serve coffee packs (not shown). Asalso shown in FIG. 1, each of channels 106 a-106 n can have atransparent window or viewing area through which a user may visuallyobserve storage of the single serve coffee packs, for example.

Within each of channels 106 a-106 n, a spring may be used to provideresistance for pushing a plate 110 a or similar structure against asingle serve coffee pack to allow the user to retrieve the single servecoffee pack from a dispensing area 112. As shown in FIG. 1, channel 106a can contain spring 108 a (illustrated in a compressed state againstplate 110 a), where single serve coffee packs 104 a-104 n occupy channel106 a. As a result of the force applied to plate 110 a by spring 108 a,single serve coffee pack 104 a can be pushed into dispensing area 112.Once single serve coffee pack 104 a is removed, spring 108 a and plate110 a can push single serve coffee pack 104 b into dispensing area 112.Another spring 108 b within channel 106 b is illustrated in acomparatively uncompressed state, when channel 106 b is empty.

Additionally, and on the “face” of each channel 106 a-106 f indispensing area 112, indicators 114 and 116 can be configured forvisually indicating one or more states of dispenser 100, e.g., sensoroperability, storage status, activation, etc. Moreover, dispenser 100can include a communications status indicator 118 because, as alluded topreviously, dispenser 100 may work with a related application tofacilitate replenishment of dispenser 100. That is, dispenser 100 cancommunicate information over one or more networks regarding the storagestate(s) of dispenser 100 to the related application to facilitatereplenishment of dispenser 100. This functionality may be accomplishedin accordance with one embodiment, by including a communications device126, such as a wireless or wired transmitter, transceiver, radio, modemor similar device (as will be described in greater detail) in dispenser100. Accordingly, communications status indicator 118 may indicate,e.g., whether an operative connection between the communications device126 and the one or more networks exists.

FIGS. 2A-2E illustrate various views of a schematic representation ofdispenser 100. In particular, FIG. 2A illustrates a bottom schematicview of dispenser 100, with area A indicating an enlarged bottom viewillustrated in FIG. 2B. As alluded to previously, dispenser 100 mayinclude indicators 114 and 116 for indicating, e.g., the storagestate(s) of dispenser 100. That is, indicator 114 may be, e.g., a lightemitting diode (LED) for indicating that a particular channel should beconfigured on the associated application. Indicator 116 may be, e.g.,another LED for indicating that replenishment of a particular channel isneeded/should be suggested. Indicator 118 may be, e.g. another LED forindicating the state of the connection between the dispenser 100 and oneor more communications networks.

FIGS. 2C-2E illustrate the dispenser 100, with certain elements beingshown in relief for ease of reference to other elements. FIG. 2Cillustrates a front schematic view of dispenser 100, with the areadenoted by arrows B indicating a side view illustrated in FIG. 2D. Thearea denoted by arrow D in FIG. 2D indicates an enlarged partial sideview illustrated in FIG. 2E. As shown in FIGS. 2C-2E, one or moresensors 120 a-120 n may be located underneath or otherwise relative topositions/spaces where single serve coffee packs may be stored anddispensed.

In accordance with one embodiment, and as illustrated in FIGS. 2C-2E,there may be one sensor associated with each possible storage positionor space such that each time a single serve coffee pack is placed in ordispensed from dispenser 100, an associated sensor 120 a-120 n candetect the presence or absence of the single serve coffee pack providingthe dispenser 100 with a storage status. For example, if a threshold ismet or surpassed, such as if four out of seven sensors indicate the lackof a single serve coffee pack, replenishment and/or refill may besuggested. In accordance with another embodiment, it is contemplatedthat, e.g., only a single sensor may be utilized in each channel ofdispenser 100, such that the single sensor (at some predeterminedposition in the channel) no longer sensing a single serve coffee packcan be considered to be indicative that the threshold has been met. Uponmeeting or surpassing the threshold, the related application (which canbe updated with the storage status of dispenser 100) can recommend thatadditional single serve coffee packs be replaced in the dispenser 100and or be purchased to replenish dispenser 100.

Sensors 120 a-120 n may be any type of sensor appropriate for sensingthe presence or absence of single serve coffee packs, such as a presencesensor. Accordingly, sensors 120 a-120 n can be light-sensitive sensors,for example, which may sense presence based on the detection or absenceof light. That is, single serve coffee pack 104 b, for example, is shownto be occupying a position or space above sensor 120 b, where singleserve coffee pack 104 b can block a certain amount of light fromreaching sensor 120 b. In the absence of that light, sensor 120 b isaware of the presence of a single serve coffee pack. Alternatively, asanother example, sensors 120 a-120 n can be pressure sensitive sensorswhich may sense presence based on whether not a single serve coffee packis “felt” or is in contact with one or more of sensors 120 a-120 n.

Moreover, dispenser 100 may include at least one controller or processor122 for controlling operation of and monitoring the aforementionedsensors, as well as for transmitting information about the storagestatus of dispenser 100 to the related application. For example, the atleast one controller or processor 122 may monitor sensors 120 a-120 n.If the at least one controller or processor 122 receives informationfrom, e.g., sensor 120 c that there is no longer a single serve coffeepack sensed at that position, a storage status update may be transmittedto the related application.

In order to send the storage status update, as alluded to previously,dispenser 100 may utilize a transmitter, transceiver, radio, modem, orother communications device 126 working in conjunction with the at leastone controller or processor 122. In accordance with one embodiment,communications device 126 may be a WLAN module. The WLAN module 126 canprovide wireless communications between the dispenser 100 and a wirelessAP, such as the wireless AP 312 shown in FIG. 3, over a wiredcommunication network and/or to a wireless communication network inaccordance with various networking protocols such a Wi-Fi™communications standard. The WLAN module 126 can operate as a client tocommunicate with a wireless AP or as an AP itself to providecommunications between other WLAN capable devices and a communicationnetwork. The WLAN module 126 may communicate with the mobile corenetwork and/or the internet, through the wireless AP, via one or morelinks and/or associated devices as described in more detail below withregard to FIG. 3 for example. In this manner, the WLAN module 126 mayprovide network access to the dispenser 100 via the wireless AP enablingthe dispenser 100 to communicate with a mobile device running aneco-system enabled application as described in more detail herein.

As previously described, the at least one controller or processor 122can read presence sensors, e.g., sensors 120 a-120 n, and viacommunications device 126, may utilize a wireless wide area network(WWAN), for example, to communicate storage status updates to someremote location, in this instance, to a smart phone, without the needfor a wired connection. The smart phone may itself, utilize an RF modemto transceive and process RF signals from the communications device 126,which in this instance, can be the aforementioned storage status updatesregarding dispenser 100.

It should be noted that the dispenser 100 described and illustratedherein can be configured or implemented in different ways. For example,dispenser 100 can be configured to be oriented horizontally orvertically in use. Single serve coffee packs being stored in dispenser100 may be stacked “end-to-end” as illustrated in FIGS. 1 and 2, or mayalternatively be stacked “side-by-side,” or in some other appropriatefashion. There may be more or less channels in which to store singleserve coffee packs, and the channels themselves may be longer or shorterfor storing more or less single serve coffee packs. Further still, thearray(s) of sensors may be oriented in alternative positions relative tothe single serve coffee packs, while an alternative mechanism(s) tosprings may be utilized for progressing single serve coffee packs (withor without plates) along a channel to the dispensing area 112. Moreover,dispenser 100 can be configured to store and dispense other items suchas cups, food products, or any other consumable item. These are merelyexemplary modifications and/or variations contemplated in accordancewith various embodiments, and are not meant to be limiting.

As described above, various embodiments allow for the use of a relatedapplication to facilitate replenishment of dispenser 100, wheredispenser 100 can communicate with a mobile device, such as a smartphone, on which the related application may be executed. The at leastone controller or processor 122 of dispenser 100 may send a storagestatus update to the related application implemented on the smart phone,allowing the related application to update quantity information. Thatis, the related application can be made aware of the quantity of singleserve coffee packs in dispenser 100 by the user manually inputting thenumber of single serve coffee packs into the related application uponreplenishing dispenser 100. Upon receiving storage status updates fromdispenser 100, the related application can continuously decrement theoriginal quantity of single serve coffee packs input by the user untilthe aforementioned threshold is met or surpassed. Alternatively, therelated application may automatically receive the storage status of thedispenser 100 via storage status updates from dispenser 100 without anyneed for manual input from the user.

Accordingly, the related application can utilize one or more programsand/or algorithms for determining, e.g., when a notification or messageshould be sent to the user suggesting replenishing dispenser 100 withadditional single serve coffee packs. For example, the abovementionedthreshold may be set and utilized by the one or more programs and/oralgorithms to determine when to send a notification or messagesuggesting replenishment of dispenser 100. The one or more programs oralgorithms may be stored as part of the related application or in one ormore memory units resident in the smart phone, and executed via one ormore controllers or processors also resident in the smart phone. As yetanother alternative, the one or more programs or algorithms may beresident on a host server or other computing entity which mayhost/control the related application, e.g., such as if the relatedapplication is a web-based application, an instance of which may beimplemented and executed in the smart phone.

Predictive calculations and/or determinations may be applied inaccordance with various embodiments as well. For example, the one ormore programs may learn over time if certain flavors of single servecoffee packs are dispensed more quickly than others, resulting in thetriggering of flavor-specific notifications or messages. That is, anotification or message may be sent when four single serve coffee packsof a first flavor remain in dispenser 100, whereas a notification ormessage may be sent when only two single serve coffee packs of a secondflavor remain in dispenser 100. Various programs, algorithms,calculations, data, etc. may be utilized, factored, weighted, and/oranalyzed to effectuate the triggering of one or more notifications ormessages to the user to replenish dispenser 100 in accordance withvarious desired modes or methods of operation.

It should be noted that in accordance with alternative embodiments ofthe present disclosure, the at least one controller or processor 122 mayitself include and/or access one or more programs or algorithms forcontrolling the sending of a notification or message. That is, andinstead of transmitting storage status updates to the relatedapplication, the at least one controller or processor 122 can keep trackof the storage status of dispenser 100 itself, determine when and if athreshold has been met or surpassed, and transmit an instruction to therelated application to suggest replenishment to the user.

In the above alternative embodiment, the one or more programs oralgorithms may be stored in a memory unit 124 or as part of/within theat least one controller or processor 122. The one or more programs oralgorithms may instruct the at least one controller or processor 122 asto which sensor(s) triggers the notification or message sent viacommunications device 126, using data contained in, e.g., a lookup tableor the like (which may be stored in memory unit 124, or again, as partof the at least one controller or processor 122).

For example, the at least one controller or processor 122 may monitorsensors 120 a-120 n. If the at least one controller or processor 122receives information from, e.g., sensor 120 c that there is no longer asingle serve coffee pack sensed at that position, an instruction may besent to the related application instructing the related application tonotify the user to replenish dispenser 100.

FIG. 3 is a block diagram illustrating an exemplary communication systemin which various embodiments may be implemented in accordance with thepresent disclosure. Referring to FIG. 3, there is shown a communicationsystem 300 which includes a plurality of mobile devices, of which themobile devices 302-308 are illustrated. One or more of the illustratedmobile devices 302-308 can include an eco-system enabled application orapplications according to various embodiments described in more detailedherein. Exemplary mobile devices may include a cellular device 302, apersonal digital assistant (PDA) 304, a tablet computer 306, and/or aSmartphone 308. Also shown in the communication system 300 is a mobilecore network 310, a wireless access point (AP) 312, a cellular basestation (BS) 314, a Bluetooth® emitter 316, a Near Field Communication(NFC) terminal 318, a GNSS network 320, a plurality of GNSS satellites322 a-322 n, an internet 330, a location server 340, and a satellitereference network (SRN) 350. One or more of the mobile core network 310,wireless AP 312, cellular BS 314, Bluetooth® emitter 316, NFC terminal318, GNSS network 320, GNSS satellites 322 a-322 n, internet 330,location server 340, and/or satellite reference network (SRN) 350 can beused in assisting to determine the location of one or more of the mobiledevices 302-308 for use in the eco-system enabled application and/or toprovide communications links to the mobile devices 302-308 for allowingthe mobile devices 302-308 to communicate as described in more detailherein with respect to an eco-system enabled application.

The wireless AP 312 may include suitable logic, circuitry, interfaces,and/or code that are operable to provide data services to communicationdevices, such as one or more of the mobile devices 302-308, in adherencewith one or more wireless LAN (WLAN) standards such as, for example,IEEE 802.11, 802.11a, 802.11b, 802.11d, 802.11e, 802.11n, 802.11 ac,802.11v, and/or 802.11u. The wireless AP 312 may communicate with themobile core network 310 and/or the internet 330, via one or more linksand/or associated devices for example. In this manner, the wireless AP312 may provide network access to the mobile devices 302-308. Thewireless AP 312 may also communicate with the dispenser 100 and providethe dispenser 100 the ability to communicate with the mobile devices302-308, via the mobile core network 310 and/or the internet 330. Inthis manner, the dispenser 100 can provide storage status updates to amobile device running the eco-enabled application, such as Smartphone308.

The cellular BS 314 may include suitable logic, circuitry, interfaces,and/or code that are operable to provide voice and/or data services tocommunication devices, such as one or more of the mobile devices302-308, in adherence with one or more cellular communication standards.Exemplary cellular communication standards may include Global System forMobile communications (GSM), General Packet Radio Services (GPRS),Universal Mobile Telecommunications System (UMTS), Enhanced Data ratesfor GSM Evolution (EDGE), Enhanced GPRS (EGPRS), and/or 3GPP Long TermEvolution (LTE). The cellular BS 314 may communicate with the mobilecore network 310 and/or the internet 330, via one or more backhaul linksand/or associated devices for example. In this manner, the cellular BS314 may provide network access to the mobile devices 302-308, enabling amobile device running the eco-enabled application, such as Smartphone308, to communicate with the dispenser 100.

The Bluetooth® emitter 316 may include suitable logic, circuitry,interfaces, and/or code that are operable to provide Bluetooth® basedconnectivity to communication devices, such as one or more of the mobiledevices 302-308, in adherence with various Bluetooth® and/or Bluetooth®Low Energy (BLE) standards. The Bluetooth® emitter 316 may communicatewith the mobile core network 310 and/or the internet 330, via one ormore backhaul links and/or associated devices for example. In thismanner, the Bluetooth® emitter 316 may provide network access to themobile devices 302-308, enabling a mobile device running the eco-enabledapplication, such as Smartphone 308, to communicate with the dispenser100.

The NFC terminal 318 may include suitable logic, circuitry, interfaces,and/or code that can provide NFC-based connectivity to communicationdevices, such as one or more of the mobile devices 302-308, in adherencewith various short range communication standards such as the Near FieldCommunications standards. The NFC terminal 318 may communicate with themobile core network 310 and/or the internet 330, via one or morebackhaul links and/or associated devices for example. In this manner,the NFC terminal 318 may provide network access to the mobile devices302-308. One example implementation of an NFC terminal 119 is for use ina contactless payment system.

The mobile core network 310 may include suitable logic, circuitry,interfaces, and/or code that are operable to provide interfacing and/orconnectivity servicing between access networks, which may be utilized bythe mobile devices 302-308, and external data networks such as packetdata networks (PDNs) and/or the internet 330. The mobile core network310 may correspond to one or more service providers that provide,control, and/or manage network accessibility available via the mobiledevices 302-308. In this regard, the mobile devices 302-308 may accessthe mobile core network 310 via the wireless AP 312, the cellular BS314, the Bluetooth® emitter 316, and/or the NFC terminal 318. The mobilecore network 310 may communicate various data services, which areprovided by external data networks, to associated user devices such as,for example, the mobile devices 302-308. In an exemplary aspect of thedisclosure, in instances where an eco-system application is provided toa user device such as Smartphone 308, the mobile core network 310 may beoperable to communicate with the location server 340 to obtain locationinformation that can be used by the eco-system enabled application.

Each of the mobile devices 302-308 may include suitable logic,circuitry, interfaces, and/or code for implementing various aspects ofthe embodiments disclosed herein. In this regard, each of the mobiledevices 302-308 may be operable to communicate via a plurality of wiredand/or wireless connections. Each of the mobile devices 302-308 may beoperable, for example, to transmit to and/or receive signals from one ormore of the wireless AP 312, the cellular BS 314, the Bluetooth® emitter316, NFC terminal 318, the GNSS network 320, and/or the internet 330.Also, each of the mobile devices 302-308 may be operable to communicatewith, and/or receive services provided by the internet 330 and/or themobile core network 310. In this regard, the mobile devices 302-308 maybe operable to utilize eco-system applications, which can utilize thelocation server 340.

The GNSS network 320 may include suitable logic, circuitry, interfaces,and/or code that may provide navigation information to land-baseddevices via satellite links. In this regard, the GNSS network 320 mayinclude, for example, the plurality of GNSS satellites 322 a-322 n, eachof which is operable to provide satellite transmissions based on aglobal navigation satellite system (GNSS). Exemplary GNSS systems mayinclude, for example, GPS, GLONASS, Galileo-based satellite system,Beidou and/or Compass systems. Accordingly, the GNSS network 320 may beoperable to provide positioning information via downlink satellite linkstransmitted from one or more of the plurality of GNSS satellites 322a-322 n to enable land-based devices, such as the mobile devices302-308, to determine their locations. The plurality of GNSS satellites322 a-322 n may directly provide positioning information and/or aland-based device may utilize satellite transmissions from differentsatellites to determine its location using, for example, triangulationbased techniques.

The SRN 350 may include suitable logic, circuitry, interfaces, and/orcode that are operable to collect and/or distribute data for GNSSsatellites on a continuous basis. The SRN 350 may include a plurality ofGNSS reference tracking stations located around the world to provideA-GNSS coverage all the time in both a home network and/or any visitednetwork. In this regard, the SRN 350 may utilize satellite signalsreceived from various GNSS constellations, such as, for example, theplurality of GNSS satellites 322 a-322 n of the GNSS network 320.

The location server 340 may include suitable logic, circuitry,interfaces, and/or code that are operable to provide and/or supportlocation based services (LBS). In this regard, the location server 340may be operable to store and/or process location related informationpertaining to communication devices in the system 300, such as one ormore of the mobile devices 302-308. The location information may bestored in a location reference database 342 in the location server 340.The location server 340 may be operable to collect and/or retrievelocation information from communication devices. The location server 340may also be operable to access additional and/or dedicated entities,such as the SRN 350 for example, to collect GNSS satellite data, and maybe operable to utilize the collected GNSS satellite data to generateGNSS assistance data (A-GNSS data) including, for example, ephemerisdata, long term orbit (LTO) data, reference positions and/or timeinformation. The location server 340 may communicate the stored locationdata when requested to do so.

In operation, the location server 340 may be utilized to providelocation based services (LBS) in the system 300, such as locating and/orproviding directions to a nearby store, e.g., store 360. The locationserver 340 may maintain, for example, the location reference database342, which may include elements corresponding to each of the mobiledevices 302-308. The location server 340 may access the SRN 350 tocollect GNSS satellite data, and may utilize the collected GNSSsatellite data to generate GNSS assistance data (A-GNSS data) pertainingto the mobile devices 302-308. The location server 340 may also collectand/or retrieve location information directly from the mobile devices302-308, and/or from other associated entities that interact with themobile devices 302-308 in the system 300, such as, for example, thewireless AP 312, the cellular BS 314, the Bluetooth® emitter 316, and/orthe NFC terminal 318. The retrieved location information may be storedin the location reference database 342 in the location server 340. Thelocation server 340 may communicate the stored location data, e.g., whenrequested to do so. The location reference database 342, maintained inthe location server 340, may be modified, refined, and/or updated usingretrieved location information. The location information stored and/ormaintained by the location server 340 may be utilized to augment and/orsubstitute for location information received and/or generated based oncommunication with the GNSS network 320, for example, when communicationwith the GNSS network 320 is disturbed.

The location data may also be locally generated, and/or maintainedthereafter by devices and/or entities other than the location server340. In this regard, location related data, which typically may begenerated and/or maintained by the location server 340, may be locallygenerated, maintained, and/or used by the mobile devices 302-308, and/orby service providers thereof. Accordingly, devices and/or entities thattypically may be serviced by the location server 340, such as the mobiledevices 302-308, may also perform location related servicing locally.Furthermore, the locally generated and/or maintained location relateddata may be uploaded from the mobile devices 302-308, and/or serviceproviders thereof, to the location server 340. Uploading the locationrelated data may be performed periodically, on request, and/or based onconfiguration of the client devices or entities, and/or the locationserver 340 itself.

The location information stored and/or maintained in the location server340 may be utilized to authenticate, for example, one or more of themobile devices 302-308, users thereof, and/or locations thereof duringoperations performed by the mobile devices 302-308. In this regard,service providers, who may provide access servicing to the mobiledevices 302-308, may contact the location server 340 to request that thelocation server 340 perform authentication procedures, and/or to obtaininformation necessary for performing the authentication procedures. Theservice providers may include, for example, cellular, Bluetooth®, WLAN,and/or NFC services providers. For example, a service provider of one ofthe mobile devices 302-308 may request authenticating the mobile device,its user, and location at a given instance. The location server 340 maythen perform the necessary authentication procedures, which may be basedon existing information in the location reference database 342, which ismaintained by the location server 340. The location server 340 may alsoperform authentication procedures based on current information, whichmay be obtained by, for example, communicating with the mobile device,to verify its present location and/or connectivity status or parameters.In this regard, the location server 340 may communicate with the mobiledevice using IP packets that may be communicated via the internet 330,which may be transmitted to and/or received by the mobile device via itsinternet connectivity, and/or via its network access via the wireless AP312, the cellular BS 314, the Bluetooth® emitter 316, and/or NFCterminal 318.

The internet 330 may include a system of interconnected networks and/ordevices that enable exchange of information and/or data among aplurality of nodes, based on one or more networking standards,including, for example, Internet Protocol (IP). The internet 330 mayenable, for example, connectivity among a plurality of private andpublic, academic, business, and/or government nodes and/or networks,wherein the physical connectivity may be provided via the PublicSwitched Telephone Network (PSTN), utilizing copper wires, fiber-opticcables, wireless interfaces, and/or other standards-based interfaces.

Various devices and/or user identification information may be utilizedduring network access and/or communications, which may be structured,allocated, and/or assigned based on the specific wired and/or wirelessprotocols that are used to facilitate any such network access and/orcommunication. For example, in GSM and/or WCDMA based networks,International Mobile Equipment Identity (IMEI) parameters may beutilized to uniquely identify mobiles devices, and these IMEI parametersmay also be used and/or traced back to the mobile devices' users.Service providers may utilize the device and/or user identificationinformation to track mobile devices and/or users. The service providersmay track devices and/or users for various reasons, including, forexample, billing or usage monitoring, and/or to help locate mobiledevices, and/or their users, in cases of emergency and/or lawenforcement purposes. Tracking of devices may also be used to provideauthorized LBS and/or real-time device location information which can beutilized by eco-system enabled applications, such as exemplaryembodiments of eco-system enabled applications according to the presentdisclosure, running on the mobile device or other devices and/orsystems.

As described above, system 300 may enable dispenser 100 and smart phone308 to communicate over the mobile core network 310 or internet 330, forexample, to exchange notifications or messages regarding storage statusof dispenser 100 or indications to suggest replenishment to a user ofsmart phone 308, as previously described.

In accordance with one embodiment, and with reference to FIGS. 4A-4G,system 300 can operate as follows. Dispenser 100 can be connected to auser's home Wi-Fi network, and the user can utilize dispenser 100 tostore and dispense single serve coffee packs. Dispenser 100 may furtherbe paired or associated with a related application that can be run on amobile device, such as the user's smart phone. For example, the relatedapplication may include configuration options, such as a configurationgraphical user interface (GUI) that the user can utilize to input, e.g.,an identification code associated with dispenser 100. It should be notedthat the related application can also be designed for use with multipledispensers.

Upon filling dispenser 100 with a desired amount of single serve coffeepacks, the user can manually input the quantity and type of single servecoffee packs stored in each channel of dispenser 100. Each channel ofdispenser 100 can be filled with a different type, e.g., flavor, ofsingle serve coffee packs, or multiple channels can be utilized for thesame type of single serve coffee pack. As illustrated in FIG. 4A, uponpairing dispenser 100 with the related application, and upon the userentering the requisite information regarding what type and quantity ofsingle serve coffee packs are currently stored in dispenser 100, therelated application can provide a visual display or representation ofdispenser 100. That is, display 410 of smart phone 308 can show the userhow many of each type of single serve coffee packs are currently storedin dispenser 100, e.g., 7 cups of “Flavor A,” 2 cups of “Flavor B,” andso on.

Alternatively, and as described above, dispenser 100 can automaticallyprovide a storage status update to the related application indicatingthe storage status of dispenser 100. For example, each channel ofdispenser 100 may be predetermined to store a different type of singleserve coffee pack, such that when a channel is replenished with singleserve coffee packs, the related application receives a storage statusupdate from dispenser 100 indicating how many single serve coffee packsare currently stored therein based on reading/monitoring theaforementioned sensors located in each channel. Alternatively still, thedifferent types of single serve coffee packs may be imprinted orotherwise identified with specific codes, such as bar codes, indicatingthe type of single serve coffee pack. In such an embodiment, the sensorsutilized in dispenser 100 may be configured to read such codes toautomatically identify the type of single serve coffee pack being storedin a particular position or space.

The related application, which can be, e.g., a web-based application ora standalone application installed on the user's smart phone 308 (and/oron the user's personal computer (PC), tablet PC, etc.), can receivestorage status updates regarding the quantity of single serve coffeepacks currently in dispenser 100 as single serve coffee packs aresubsequently dispensed. As described above, and when a threshold forreplenishment of one or more types of single serve coffee packs is metor surpassed, the related application can inform the user of thiscondition. As illustrated in FIG. 4B, the related application maydisplay a message 412 to the user indicating that, e.g., a certain typeof single serve coffee pack is out, or running low.

As further illustrated in FIG. 4B, the message 412 may also include anindication of where the user may purchase additional single serve coffeepacks to replenish dispenser 100. That is, the related application canleverage existing location-based services/applications and/orfunctionality resident on or accessible by smart phone 308 to locate a“nearest” store or retailer. For example, smart phone 308 may include aGPS tracking device capable of determining a location of the smart phone308. Once the location of the smart phone 308 is determined, the relatedapplication can utilize, e.g., internet-based mapping services, residenton smart phone 308 or implemented within the related application todetermine one or more stores near the location of the smart phone 308.Again leveraging the internet-based mapping services, the relatedapplication can also provide directions to the store 360.

Additionally still, the related application can be linked toinformational resources or similar data repositories from whichinformation regarding inventory of a particular retailer can beobtained. That is, and in accordance with one embodiment, the relatedapplication can be associated with a particular retailer. In accordancewith another embodiment, however, and so long as the related applicationhas access to the aforementioned informational resources or datarepositories of multiple retailers, the related application can providethe user with suggestions for one or more nearby retailers that are notnecessarily related/the same. Accordingly, and referring back to FIG. 3,the message 412 may indicate to the user that store 360 has the one ormore types of single serve coffee packs in stock.

In addition to merely providing message 412 to the user suggestingreplenishment of dispenser 100, and e.g., a nearby retailer where singleserve coffee packs can be purchased, the related application may alsoprovide the user with additional options for purchasing single servecoffee packs. That is, the related application may provide a phonenumber the user can dial to call the retailer to place an order, oralternatively, an ordering GUI that allows the user to order singleserve coffee packs using the smart phone 308. In this way, the user canengage in remote or “online” ordering of single serve coffee packs, andhave the ordered single serve coffee packs ready for pick up, ratherthan engaging in a conventional in-store checkout procedure. Forexample, the user can simply enter payment information, or the user mayhave payment information stored in an account accessible by the relatedapplication and, e.g., associated with the particular retailer fromwhich the single serve coffee packs are ordered. Alternatively still,the ordering GUI may provide an option to allow the user to have theordered single serve coffee packs delivered to a location of the user'schoosing. As illustrated in FIG. 4C, the related application can displayan order confirmation 414 on smart phone 308. It should be noted that ifthe user wishes to disregard the suggestion to purchase additionalsingle serve coffee packs to replenish dispenser 100, the user mayacknowledge the notification or message, but opt not to order additionalsingle serve coffee packs. Accordingly, the related application may atsome predetermined later time, remind the user by sending anothernotification or message.

As further illustrated in FIG. 4C, the related application can presentcross merchandise ordering options 416 to the user. That is, and asdescribed above, the user may have an account associated with aparticular retailer that the related application can access or that withwhich the related application is itself associated. Accordingly, therelated application, upon analyzing the purchasing or order history ofthe user, can suggest additional items to the user for purchase. Suchadditional items can be related to the single serve coffee packs, suchas coffee cartridges or coffee drinking utensils, such as a cappuccinocup and saucer. Other cross merchandising options at 418 can involvepresenting the user with the opportunity to obtain information or browseitems for sale associated with other “cooking” brands, not necessarilylimited to coffee-related items or brands.

Additionally still, and as illustrated in FIG. 4D, the relatedapplication can provide subscription opportunities 420 for the user toengage in. That is, and illustrated in FIG. 4D, the user can become amember of a subscription service for the single serve coffee packs sothat the user can automatically receive some predetermined amount and/ortype of single serve coffee packs, e.g., once a month, every week, etc.Management of the subscription can be provided through the relatedapplication via a subscription management GUI(s). The user may sign upfor and/or manage other subscriptions as well. For example, and if thesubscription for the single serve coffee packs is provided through adepartment store retailer, the user may sign up for subscriptions forother cross merchandise items 422 sold by the department store retailer,such as clothing, kitchen supplies, etc. As well, and when managing oneor more subscriptions, the user may again be provided with still othercross merchandise options or information 424 regarding, e.g., otherlifestyle brands, that the user may potentially have an interest in,membership rewards, etc.

FIGS. 4E, 4F, and 4G illustrate other capabilities of the relatedapplication. For example, the related application may present a“dashboard” GUI 426 to the user as shown in FIG. 4E, from which the usercan access and/or edit their account, purchase history, reserved itemsfor later purchasing, control and/or interact with the various options,features, and/or functionalities provided by the related application,and from which other cross merchandise options or information can bepresented. For example, a GUI illustrating presenting the user'saccumulated savings and/or available store credit from a particularretailer can be presented in FIG. 4F at 428.

Another aspect of the related application is that it can leverageinformation gleaned from, e.g., social media outlets, to effectuatesocial merchandising, trending, etc. For example, when establishing anaccount with a particular retailer, the user may choose to identify asocial media network, such as Facebook®, Pinterest™, Tumblr™, etc., andallow the related application to access certain information and/orstatistics that appear on or are associated with the user's Facebook®page or account as shown in FIG. 4G at 430. Thus, the relatedapplication may become aware of, e.g., what single serve coffee packsthe user's “Facebook® friends” may have “Liked” and provide suchinformation to the user, such as ranking of the single serve coffeepacks “Liked” by the user's “Facebook® friends.” Allowing the useraccess to such information can be useful in replenishing dispenser 100prior to a party, for example, to better accommodate thetastes/preferences of the user's friends. Likewise, the user may allowcertain aspects of his/her purchase history to be accessed by suchsocial media outlets, allowing other users that utilize the same or arelated application to glean similar information from the user.

It should be noted that the above example features and functionalitiesof the related application are merely exemplary and not meant to belimiting. Moreover, like the one or more programs or algorithmsdescribed above for determining when a notification or message should besent to the user suggesting replenishment of the single serve coffeepacks, additional programs and/or algorithms can be utilized to performthe analysis of the user's purchasing or order history, performstatistical and/or social media outlet information gathering, etc. toprovide targeted cross merchandise options, relevant coupons or offers,targeted advertising, product testing, etc. as described above, as iscontemplated in accordance with various embodiments

FIG. 5 illustrates yet another feature of the related applicationregarding “in-aisle” subscription and/or fulfillment, where the relatedapplication can be used to scan, at 500, a product code 502 associatedwith an item(s) for sale at a retail location. Upon scanning the productcode 502 associated, in this example, with towels, the relatedapplication presents an in-aisle GUI 504 that allows the user to selectpurchase options for those towels. That is, the user can choose tocreate an ordering subscription for the towel, or the user can choose topurchase the towels for delivery to the user's home. This can be usefulwhen the user wishes to see/sample a product before purchasing, forexample, but prefers to avoid conventional checkout procedures and/orprefers home delivery of their purchases.

FIG. 6 is a flow chart illustrating example processes for setting up thedispenser 100 performed in accordance with various embodiments asdescribed above. The process of setting up the dispenser 100 begins withplugging the dispenser 100 into a power outlet 600. Alternatively, thedispenser 100 can be battery operated. After the dispenser 100 ispowered up, the user configures the dispenser to connect to the user'shome Wi-Fi network 610 and pairs the device to a mobile app 612. Oncethe dispenser 100 is connected to the user's home Wi-Fi_33 networkindicator 118 should light up indicating that the dispenser 100 isconnected to the network 614. Also upon power up, indicator lights 114should light up for each row of the dispenser 100 indicating that theindividual rows have not yet been configured in the related eco-systemenabled application on the associated mobile device 616.

The user then loads the dispenser 100 by filling each row of thedispenser with single server coffee packs 618. The dispenser 100, inturn, sends quantity information regarding the number of coffee packsloaded in each row of the dispenser 100 to the application 620.

In order to configure the individual rows of the dispenser 100 in theeco-system enabled application, the user runs the eco-system enabledapplication on the associated mobile device and is prompted to enterconfiguration information 622. If the dispenser 100 is empty when theuser opens the application, the application can be configured to presentfulfillment options to the user for purchasing single server coffeepacks for use in stocking the dispenser 100. In other words, when theuser opens the application after associating it with a dispenser 100,the application provides the user with a list of the different singleserve coffee packs which can be used for filling the dispenser 100 andalso gives the user the option of purchasing coffee packs, either forhome delivery, pick up from a retail store, or as part of asubscription, in case the user did not purchase coffee packs when he orshe purchased the dispenser or in case the user is out of stock ofcoffee packs.

If the dispenser 100 has already been filled with coffee packs, theapplication allows the user select a row and the application prompts theuser to fill in flavor information corresponding to the flavor of coffeepacks loaded into the selected row, as well as the total number of thisflavor of coffee packs purchased by the user, so that the applicationcan track how many extra coffee packs the user might have in storage todetermine when to prompt the user to replenish this flavor of coffeepacks 624. After the user has entered flavor and quantity informationfor each row in which coffee packs were loaded, the activation lights114 on the dispenser are turned off signaling that the dispenser 100 andapplication data are synced.

FIG. 7 is a flow chart illustrating example processes for using thedispenser 100 performed in accordance with various embodiments asdescribed above. Once the dispenser 100 has been filled and configured,as illustrated in FIG. 6 and the corresponding description, the user maybegin using the dispenser 100. During use, coffee packs are removed fromthe dispenser 100 for use in brewing coffee in a corresponding coffeemaker 700. Each time a coffee pack is removed, the dispenser 100 sensesfrom which row the coffee pack was removed and this information is sentfrom the dispenser 100 to the application so that the application canupdate quantity information 702. After updating the quantityinformation, the application determines whether or not the low thresholdhas been exceeded 704. If not, the process returns to normal operationin step 700. If the low threshold has been exceeded, the replenishmentlight 116 is activated on the dispenser 100 in the corresponding row706.

Next, the application determines whether or not the user has additionalcoffee packs of the same flavor as currently stored in the row thatexceeded the low threshold 708. If the user does have additional coffeepacks of the correct flavor, the application displays a refillnotification message on the mobile device notifying the user that a rowof the dispenser 100 should be refilled and that the user should haveadditional coffee packs available for refill 710. The application canalso ask the user whether or not the user wishes to refill the dispenser100 immediately 712. If so, the user accepts the notification and addscoffee packs to the appropriate row of the dispenser 716. The quantityinformation is then updated and sent to the application for tracking 718and the replenishment light 116 on the dispenser is turned off. If theuser rejects the refill notification message, the application can beconfigured to automatically set a reminder which will be displayed at alater time reminding the user that a row of the dispenser needs to berefilled 714.

If the application determines that the user does not have additionalcoffee packs in storage, the application can send a replenishmentnotification message to the mobile device signaling the user that he orshe should purchase additional coffee packs to replenish the dispenser722. Along with the replenishment notification message, the applicationcan ask the user if he or she would like to reorder the additionalcoffee packs online or purchase them from a store 724. If the userselects order online, the application opens an online ordering browserand prompts the user to complete the order information 726, as describedin more detail herein. If the user selects purchase from a store, theapplication can check for nearby retail stores, check the inventory ofthe nearby retail stores to ensure that the desired flavor of coffeepacks is currently in stock, and then open a map on the mobile devicewith direction to the closest store that has the desired flavor in stock728, as described in more detail herein.

Various embodiments of the present invention may be implemented in asystem having multiple communication devices that can communicatethrough one or more networks. The system may comprise any combination ofwired or wireless networks such as a mobile telephone network, awireless Local Area Network (LAN), a Bluetooth personal area network, anEthernet LAN, a wide area network, the Internet, etc. The communicationdevices may communicate using various transmission technologies such asOFDM, Code Division Multiple Access (CDMA), Global System for MobileCommunications (GSM), Universal Mobile Telecommunications System (UMTS),Time Division Multiple Access (TDMA), Frequency Division Multiple Access(FDMA), Transmission Control Protocol/Internet Protocol (TCP/IP), ShortMessaging Service (SMS), Multimedia Messaging Service (MMS), e-mail,Instant Messaging Service (IMS), Bluetooth, IEEE 802.11, etc.

A mobile device 800, such as smart phone 308, in accordance with variousembodiments may include various elements, components, and/or modules forimplementing the above-described features. FIG. 8 illustrates a blockdiagram of an exemplary mobile device 800 which includes an eco-systemenabled application or applications according to various embodimentsdescribed in more detailed herein. The mobile device 800 may communicateinformation over wired and/or wireless communication networks inaccordance with various communication standards. The mobile device 800can represent for example, a cellular phone or a smartphone, a mobilecomputing device, such as a tablet computer, a personal digitalassistant, a watch, or a laptop computer, or any other electronic devicethat is capable of communicating information over communication networksthat will be apparent to those skilled in the relevant arts. The mobiledevice 800 can be implemented to be substantially similar to the mobiledevices 302-308 shown in FIG. 3.

The mobile device 800 can include a cellular module 802, a locationbased services module, such as GNSS module 804, a wireless local areanetwork (WLAN) module 806, a Bluetooth® module 808, a Near FieldCommunication (NFC) module 810, a host processor 812, a memory 814, auser interface 818, or any combination thereof which are communicativelycoupled to one another via a communication interface 816. The variousmodules can be used in assisting to determine the location of the mobiledevice 800 for use in the eco-system enabled application and/or toprovide communications links for allowing the mobile device 800 tocommunicate with other mobile devices as described in more detail hereinwith respect to the eco-system enabled application. The host processor812 and memory 814 can also be used for implementing and/or storing theeco-system enabled application and/or data for implementing some aspectsof the eco-system enabled application. In some implementations, two ormore of the modules included in the mobile device 800 can be integratedto form a combination module. The mobile device 800 need not include allof: the cellular module 802, the GNSS module 804, the WLAN module 806,the Bluetooth® module 808 and/or the NFC Module 810. Those skilled inthe relevant art(s) will recognize that other configurations andarrangements of the mobile device 800 may be possible. Additionally,those skilled in the relevant art(s) will also recognize that thecellular module 802, the GNSS module 804, the WLAN module 806, theBluetooth® module 808, the NFC Module 810, the host processor 812, thememory 814, and the user interface 818 need not necessarily becommunicatively coupled to one another via the communication interface816. In some situations, those modules that are communicatively coupledto the communication interface 816 can independently communicate withother communication enabled devices without communication interface 816.

The cellular module 802 can provide wireless communication between themobile device 800 and a cellular BS, such as the cellular BS 314 shownin FIG. 3, over a cellular network in accordance with various cellularcommunication standards such as a Generation Partnership Project (3GPP)Long Term Evolution (LTE) communications standard, a fourth generation(4G) mobile communications standard, or a third generation (3G) mobilecommunications standard to provide some examples. The cellular module802 may communicate with one or more transceivers, referred to as BSs orAPs, within the cellular network to provide voice and/or datacommunications between the mobile device 800 and another cellularcapable device via a network, such as the mobile core network 310 shownin FIG. 3. The mobile core network may include a cellular telephoneexchange that connects to a public telephone network or to anothercellular telephone exchange within the mobile cellular network.

The GNSS module 804 can provide wireless communications between themobile device 800 and a GNSS Network, such as the GNSS Network 320 shownin FIG. 3, in accordance with various GNSS standards. The GNSS module804 can receive various signals from various GNSS satellites, such asthe satellites 322 a-322 n shown in FIG. 3, and to calculate a positionof the mobile device 800 based on the received signals. The GNSS module804 may be implemented using a GNSS receiver which can use the GPS,GLONASS, Galileo and/or Beidou systems, among others, for calculatingthe position of the mobile device 800.

The WLAN module 806 can provide wireless communications between themobile device 800 and a wireless AP, such as the wireless AP 312 shownin FIG. 3, over a wired communication network and/or to a wirelesscommunication network in accordance with various networking protocolssuch a Wi-Fi™ communications standard. The WLAN module 806 can operateas a client to communicate with a wireless AP or as an AP itself toprovide communications between other WLAN capable devices and acommunication network. The WLAN module 806 may communicate with themobile core network and/or the internet, through the wireless AP, viaone or more links and/or associated devices for example. In this manner,the WLAN module 806 may provide network access to the mobile device 800via the wireless AP.

The Bluetooth® module 808 can provide wireless communications betweenthe mobile device 800 and a Bluetooth® emitter, such as the Bluetooth®emitter 316 shown in FIG. 3, over various Bluetooth® and/or Bluetooth®Low Energy (BLE) standards. The Bluetooth® module 808 can communicatewith the mobile core network and/or the internet, via the Bluetooth®emitter, through one or more backhaul links and/or associated devicesfor example. In this manner, the Bluetooth® module 808 may providenetwork access to the mobile device 800 via the Bluetooth® emitter.

The NFC Module 810 can provide short range wireless communicationsbetween the mobile device 800 and another NFC device, such as the NFCterminal 318 shown in FIG. 3, over various short range communicationstandards such as the Near Field Communications standard. The NFC module810 can communicate with the mobile core network and/or internet, viathe NFC terminal through one or more backhaul links and/or associateddevices for example. In this manner, the NFC module 810 may providenetwork access to the mobile device 800 via the NFC terminal.

The host processor 812 can control overall operation and/orconfiguration of the mobile device 800. The host processor 812 mayreceive information from, among other things, the user interface 216and/or from other electrical devices or host devices that are coupled tothe mobile device 800. The host processor 810 can provide thisinformation to the cellular module 802, the GNSS module 804, the WLANmodule 806, the Bluetooth® module 808, the NFC module 810, the memory814, and/or the user interface 818. Additionally, the host processor 812can receive information from the cellular module 802, the GNSS module804, the WLAN module 806, the Bluetooth® module 808, the NFC module 810,and/or the memory 814. The host processor 812 may provide thisinformation to the user interface 818, to other electrical devices orhost devices, and/or to the cellular module 802, the GNSS module 804,the WLAN module 806, the Bluetooth® module 808, the NFC Module 810,and/or the memory 814 via the communication interface 816. Further, thehost processor 812 can execute one or more applications such as SMS fortext messaging, electronic mailing, and/or audio and/or video recording,and/or software applications such as a calendar and/or a contact list toprovide some examples. The host processor 812 can also execute eneco-system enabled application such as the exemplary embodimentsdescribed herein.

The user interface 818 can include a display, such as a touch-screendisplay, an alphanumeric keypad, a microphone, a mouse, a speaker, oranother suitable input/output device capable of receiving user inputand/or providing data to the user of the device. User providedinformation can be input into the user interface 818 such as by typingon the alphanumeric keypad, typing or selecting on the touch-screendisplay, selecting with the mouse, receiving verbal information andcommands from the microphone, and/or through other methods of receivinguser input. Information can be provided to the user through the userinterface 818 such as by displaying the information on the touch-screendisplay, providing verbal information through the speaker, or throughother methods of conveying and/or displaying information. The userinterface 818 can interface with the host processor 812 to provideinformation to the host processor 812, such as via the communicationinterface 816 and to display information provided by the host processor812 via the communication interface 816 to the user of the device. Theuser interface 816 can also receive and provide information to/from thecellular module 802, the GNSS module 804, the WLAN module 806, theBluetooth® module 808, the NFC Module 810, and/or the memory 814.

The communication interface 816 can route various communications betweenthe cellular module 802, the GNSS module 804, the WLAN module 806, theBluetooth® module 808, the NFC Module 810, the host processor 812, thememory 814, and/or the user interface 818. These communications caninclude various digital signals, such as one or more commands and/ordata, various analog signals, such as direct currents (DC) and/orvoltages to provide some examples, or any combination thereof. Thecommunication interface 816 can be implemented as a series of wiredand/or wireless interconnections between the cellular module 802, theGNSS module 804, the WLAN module 806, the Bluetooth® module 808, the NFCModule 810, the host processor 812, the memory 814, and/or the userinterface 818. The interconnections of the communication interface 816,as well as interconnections of other communication interfaces that arediscussed below, can be arranged to form a parallel interface to carrycommunications between various modules of the mobile device 800 inparallel using multiple conductors, a serial interface to carrycommunications between various modules of the mobile device 800 200using a single conductor, or any combination thereof. A mobile device,such as mobile device 800, may include one or more integrated circuitsthat can be configured and arranged to form one or more modules, such asthe cellular module 802, the GNSS module 804, the WLAN module 806, theBluetooth® module 808, the NFC Module 810, the host processor 812, thememory 814, and/or the user interface 818 to provide some examples.

Various embodiments described herein are described in the generalcontext of method steps or processes, which may be implemented in oneembodiment by a software program product or component, embodied in amachine/computer-readable medium, including executable instructions,such as program code, executed by entities in networked environments.Generally, program modules may include routines, programs, objects,components, data structures, etc. that perform particular tasks orimplement particular abstract data types. Executable instructions,associated data structures, and program modules represent examples ofprogram code for executing steps of the methods disclosed herein. Theparticular sequence of such executable instructions or associated datastructures represents examples of corresponding acts for implementingthe functions described in such steps or processes.

Various descriptions of given units of functionality that can beperformed in accordance with one or more embodiments are providedherein, and may be described as or thought of as modules. Such units offunctionality, e.g., a module, might be implemented utilizing any formof hardware, software, or a combination thereof. For example, one ormore processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logicalcomponents, software routines or other mechanisms might be implementedto make up a module. In implementation, the various modules describedherein might be implemented as discrete modules or the functions andfeatures described can be shared in part or in total among one or moremodules. In other words, as would be apparent to one of ordinary skillin the art after reading this description, the various features andfunctionality described herein may be implemented in any givenapplication and can be implemented in one or more separate or sharedmodules in various combinations and permutations. Even though variousfeatures or elements of functionality may be individually described orclaimed as separate modules, one of ordinary skill in the art willunderstand that these features and functionality can be shared among oneor more common software and hardware elements, and such descriptionshall not require or imply that separate hardware or software componentsare used to implement such features or functionality. Where componentsor modules of the invention are implemented in whole or in part usingsoftware, in one embodiment, these software elements can be implementedto operate with a computing or processing module capable of carrying outthe functionality described with respect thereto.

The foregoing description of various embodiments have been presented forpurposes of illustration and description. The foregoing description isnot intended to be exhaustive or to limit embodiments of the presentinvention to the precise form disclosed, and modifications andvariations are possible in light of the above teachings or may beacquired from practice of various embodiments of the present invention.The embodiments discussed herein were chosen and described in order toexplain the principles and the nature of various embodiments of thepresent invention and its practical application to enable one skilled inthe art to utilize the present invention in various embodiments and withvarious modifications as are suited to the particular use contemplated.The features of the embodiments described herein may be combined in allpossible combinations of methods, apparatus, modules, systems, andcomputer program products.

If desired, the different functions discussed herein may be performed ina different order and/or concurrently with each other. Furthermore, ifdesired, one or more of the above-described functions may be optional ormay be combined.

Although various aspects of various embodiments are set out in theindependent claims, other aspects of the present disclosure compriseother combinations of features from the described embodiments and/or thedependent claims with the features of the independent claims, and notsolely the combinations explicitly set out in the claims.

What is claimed is:
 1. At least one non-transitory computer-readablememory including computer executable instructions, the computerexecutable instructions, which when executed by at least one processor,cause a system to perform a method comprising: receiving, from a sensorof a dispenser, a storage status update indicating a remaining quantityof a consumable item associated with the dispenser; determining whetherthe storage status meets a predetermined threshold associated with theconsumable item; upon a determination that the storage status of thedispenser meets the predetermined threshold associated with theconsumable item— sending a replenishment notification to the mobiledevice via a mobile device application with a recommendation to order anadditional quantity of the consumable item, and providing, via themobile device application, a user interface at the mobile device adaptedto allow online purchasing of the additional quantity of the consumableitem at a retailer via the mobile device; and communicating with theretailer to reorder the additional quantity of the consumable item. 2.The computer-readable memory of claim 1 wherein the method furthercomprises: receiving, from a user via a user interface of the mobiledevice application, data related to a quantity of the consumable itemstored separate from the dispenser; and determining the storage statusbased on the data related to the quantity of consumable goods storedseparate from the dispenser and the storage status update from thesensor.
 3. The computer-readable memory of claim 1 wherein: determiningwhether the storage status meets the predetermined threshold comprisespredictively determining when the consumable item will be depleted basedon at least one of previous depletion rates and order history; andsending the replenishment notification comprises sending thereplenishment notification a predetermined time in advance of depletion.4. The computer-readable memory of claim 1 wherein the method furthercomprises pairing the dispenser with the mobile device application. 5.The computer-readable memory of claim 1 wherein the method furthercomprises receiving product information related to the consumable itemvia the mobile device application; and receiving purchase options fromthe user via a user interface of the mobile device application, whereinthe purchase options include product type and subscription data.
 6. Amobile device, comprising: at least one processor; and at least onememory including computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause the mobile device to perform at least the following: receive astorage status update from a dispenser adapted to store and dispenseconsumable items; determine, based on the received storage statusupdate, whether a current storage status associated with the dispenserfalls below a replenishment threshold; and upon determining that thecurrent storage status falls below the replenishment threshold, then—determine a current location of the mobile device, determine a locationof a retailer located proximate to the current location of the mobiledevice at which additional consumable items are purchasable, present anotification indicating a suggestion to replenish the dispenser, presentthe location of the retailer determined to be located proximate to themobile device at which additional consumable items are purchasable, andpresent a user interface to allow online ordering of the additionalitems at the retailer such that the additional items are available forpick up at the retailer.
 7. The mobile device of claim 6, wherein the atleast one memory and the computer program code configured to, with theat least one processor, cause the mobile device to present as anadditional purchasing option to the retailer located proximate to themobile device, that allows online purchasing of the additionalconsumable items.
 8. The mobile device of claim 6, wherein the storagestatus update and the current storage status include informationregarding at least one type of the consumable items and at least onequantity of the consumable items.
 9. A system comprising: acommunications network over which a storage status update istransmitted; a dispenser for storing and dispensing a plurality ofconsumable items; and a mobile device adapted to execute an application,the application adapted to: receive the storage status update from thedispenser; determine a retailer located proximate to the mobile deviceat which additional consumable items are purchasable; and present anotification indicating a suggestion to replenish the dispenser based onthe storage status update and the retailer located proximate to themobile device at which additional consumable items are purchasable toreplenish the dispenser.
 10. The system of claim 9, wherein theapplication is adapted to present a user interface adapted to allowonline purchasing of the additional consumable items via the mobiledevice instead of presenting the notification indicating the retailerlocated proximate to the mobile device.
 11. The system of claim 9,wherein the application is adapted to present, as an additionalpurchasing option to the retailer located proximate to the mobiledevice, a user interface adapted to allow online purchasing of theadditional items via the mobile device.
 12. The system of claim 9,wherein the application is further adapted to present user-targetedinformation based on at least one of the additional consumable itemssuggested to replenish the dispenser, a previous purchasing history, anda social media outlet to which the application has access.
 13. Acomputer-readable memory including computer executable instructions, thecomputer executable instructions, which when executed by a processor,cause an apparatus to perform a method comprising: receiving, at amobile device, a storage status update indicating a remaining quantityof a type of single serve coffee packs stored in a dispenser; updating acurrent storage status associated with the type of single serve coffeepacks based on the received storage status update; determining whetherthe updated current storage status meets a predetermined thresholdassociated with the type of single serve coffee packs; determining alocation of the mobile device; and upon a determination that the updatedcurrent storage status of the dispenser meets the predeterminedthreshold associated with the type of single serve coffee packs,presenting a notification on the mobile device suggesting ordering anadditional quantity of the type of single serve coffee packs,determining a retailer proximately located to the mobile device at whichthe additional quantity of the type of single serve coffee packs arepurchasable, and presenting a notification on the mobile device with asuggestion of the proximately located retailer.
 14. Thecomputer-readable memory of claim 13, wherein the computer executableinstructions, which when executed by a processor, cause the apparatus topresent a user interface adapted to allow online purchasing, via themobile device, of the type of the single serve coffee packs suggestedinstead of presenting the notification with the suggestion of theproximately located retailer.
 15. The computer-readable memory of claim13, wherein the computer executable instructions, which when executed bya processor, cause the apparatus to present, as an additional purchasingoption to the proximately located retailer, a user interface adapted toallow online purchasing via the mobile device of the type of the singleserve coffee packs suggested.
 16. A method, comprising: receiving, at amobile device, a storage status update indicating a remaining quantityof a type of single serve coffee packs stored in a dispenser; updating acurrent storage status associated with the type of single serve coffeepacks based on the received storage status update; determining whetherthe updated current storage status meets a predetermined thresholdassociated with the type of single serve coffee packs; determining thelocation of the mobile device; and upon a determination that the updatedcurrent storage status of the dispenser meets the predeterminedthreshold associated with the type of single serve coffee packs,presenting a notification on the mobile device suggesting ordering anadditional quantity of the type of single serve coffee packs,determining a retailer proximately located to the mobile device at whichthe additional quantity of the type of single serve coffee packs arepurchasable, and presenting a notification on the mobile device with asuggestion of the proximately located retailer.
 17. The method of claim16 further comprising, presenting directions to the proximately locatedretailer on the mobile device.
 18. The method of claim 16 furthercomprising, presenting a user interface adapted to allow onlinepurchasing, via the mobile device, of the type of the single servecoffee packs suggested instead of presenting the notification with thesuggestion of the proximately located retailer.
 19. The method of claim16 further comprising, presenting as an additional purchasing option tothe proximately located retailer, a user interface adapted to allowonline purchasing, via the mobile device, of the type of the singleserve coffee packs suggested.